#ifndef ASTEROIDS_H
#define ASTEROIDS_H

#include <iostream>
#include <vector>
#include <list>

#include "uiDraw.h"
#include "uiInteract.h"
#include "gameObjects.h"

#define MAX_BULLETS   50
#define MAX_BIG_ROCKS 5

using namespace std;

/*****************************************
 * CLASS : ASTEROIDS
 *****************************************/
class Asteroids
{
protected:
   Ship m_ship;
   Bullet m_bullets[MAX_BULLETS];
   Score m_score;
   list <Rock *> m_rocks;
   //Rock *rocks[5];

public:
   Asteroids();
   void operator ++ (int postfix);
   void draw();
   void interact(const Interface *pUI);

   void fire();
   void killBulet();

   float getMaxValue(list <Rock *>::iterator &iRock, int &iBullet);
   float getMinValue(float distSqrd, float min);
   float minDist(list <Rock *>::iterator &iRock, int radius, int &iBullet);
};

#endif // ASTEROIDS_H
